工控網(wǎng)首頁(yè)
>

應(yīng)用設(shè)計(jì)

>

基于CAN總線的多視覺(jué)傳感器測(cè)控系統(tǒng)的設(shè)計(jì)

基于CAN總線的多視覺(jué)傳感器測(cè)控系統(tǒng)的設(shè)計(jì)

2008/5/20 16:36:00
摘要:本文給出了多視覺(jué)傳感器測(cè)控系統(tǒng)的設(shè)計(jì)方法,實(shí)現(xiàn)了CAN總線在視覺(jué)檢測(cè)系統(tǒng)中的應(yīng)用。介紹了視覺(jué)傳感器、視頻多路切換開(kāi)關(guān)的硬件電路和CAN總線控制網(wǎng)絡(luò)通訊的軟件設(shè)計(jì)。
關(guān)鍵詞:CAN總線 視覺(jué)檢測(cè) 視覺(jué)傳感器 視頻多路切換開(kāi)關(guān)

1 引言
        視覺(jué)檢測(cè)技術(shù)是以機(jī)器視覺(jué)為基礎(chǔ)的新型測(cè)試技術(shù),因其具有測(cè)量非接觸、速度快、信息量大、應(yīng)用領(lǐng)域?qū)拸V等特點(diǎn)而受到歡迎。結(jié)構(gòu)光傳感器是應(yīng)用較早、發(fā)展較成熟的視覺(jué)傳感器,因此本系統(tǒng)采用結(jié)構(gòu)光傳感器來(lái)采集圖像并經(jīng)圖像采集卡送給計(jì)算機(jī)處理。由于視覺(jué)傳感器在視覺(jué)測(cè)量中擔(dān)負(fù)著視頻圖像信號(hào)(測(cè)量數(shù)據(jù))的采集、切換與傳輸。因此,如何讓視覺(jué)傳感器測(cè)控系統(tǒng)快速、精確地獲得理想的視頻圖像信息,進(jìn)而為后期的圖像處理提供可靠的支持,亦即視覺(jué)傳感器的測(cè)控系統(tǒng)的設(shè)計(jì)顯得尤為重要。

2 視覺(jué)系統(tǒng)的概述
        視覺(jué)檢測(cè)系統(tǒng)中采集被測(cè)物體圖像的視覺(jué)傳感器有單目和雙目?jī)煞N之分,本測(cè)控系統(tǒng)可以使用單目視覺(jué)傳感器也可以使用雙目視覺(jué)傳感器來(lái)采集數(shù)據(jù),本文主要討論由多個(gè)雙目視覺(jué)傳感器組成的多視覺(jué)傳感器測(cè)控系統(tǒng),其中的每個(gè)視覺(jué)傳感器采用的是目前技術(shù)已經(jīng)比較成熟的線結(jié)構(gòu)光視覺(jué)傳感器,其結(jié)構(gòu)是由雙CCD攝像機(jī)、一個(gè)激光投射器和一塊MCU控制電路組成,基于立體視差原理,利用兩臺(tái)攝像機(jī)來(lái)模仿實(shí)現(xiàn)人眼的功能,利用空間點(diǎn)在兩攝像機(jī)像面上的透視或像點(diǎn)坐標(biāo)來(lái)求取空間點(diǎn)的三維坐標(biāo)。當(dāng)被測(cè)工件較大需要不止一個(gè)視覺(jué)傳感器時(shí),上述多個(gè)視覺(jué)傳感器加上多路視頻切換開(kāi)關(guān)就構(gòu)成了多視覺(jué)傳感器測(cè)控系統(tǒng)。如對(duì)汽車(chē)車(chē)身上的很多特征點(diǎn)進(jìn)行檢測(cè)時(shí),就需要幾十甚至上百個(gè)傳感器來(lái)測(cè)量,由于控制器局部網(wǎng)CAN(controller area network)總線具有很強(qiáng)的帶負(fù)載能力,一個(gè)CAN網(wǎng)絡(luò)上最多能接110個(gè)節(jié)點(diǎn),所以本系統(tǒng)采用CAN總線進(jìn)行通訊和網(wǎng)絡(luò)控制。
       視覺(jué)傳感器中MCU控制電路提供CCD攝像機(jī)、激光投射器的電源并且控制著它們的開(kāi)啟與關(guān)閉,為避免激光投射器使用時(shí)間過(guò)長(zhǎng)激光器發(fā)熱引起線結(jié)構(gòu)光光能分布不穩(wěn)從而影響測(cè)量精度,當(dāng)傳感器開(kāi)始測(cè)量時(shí),先上電初始化,再打開(kāi)激光器,測(cè)量完畢后即關(guān)閉以延長(zhǎng)投射器壽命。
        本系統(tǒng)中,上位機(jī)為PC機(jī),下位機(jī)為8051單片機(jī)控制單元,上、下位機(jī)之間用CAN總線進(jìn)行通訊,由于PC機(jī)中并不帶CAN總線接口,因此必需一個(gè)CAN接口卡,這里選用廣州周立功公司的USBCAN智能接口卡來(lái)通信,因其具有體積小、外置且即插即用等特點(diǎn)。這樣,PC可通過(guò)USB總線方便地連接至CAN總線網(wǎng)絡(luò)控制各個(gè)CAN節(jié)點(diǎn)進(jìn)行數(shù)據(jù)采集和處理。USBCAN智能CAN接口卡可以與ZLGCANTest通用CAN-bus測(cè)試軟件連接運(yùn)行,執(zhí)行CAN-bus總線數(shù)據(jù)的接收、發(fā)送測(cè)試任務(wù),較易于實(shí)現(xiàn)CAN-bus產(chǎn)品開(kāi)發(fā)和數(shù)據(jù)析。 USBCAN智能CAN接口卡采用周立功公司提供的通用的ZLGVCI驅(qū)動(dòng)庫(kù),支持WIN98、2000和XP操作系統(tǒng)并支持Linux平臺(tái)。用戶通過(guò)接口卡提供的ZLGVCI動(dòng)態(tài)開(kāi)發(fā)庫(kù)可以方便快捷的開(kāi)發(fā)出CAN系統(tǒng)應(yīng)用產(chǎn)品。為了把模擬CCD相機(jī)輸出的被測(cè)物體的模擬視頻圖像轉(zhuǎn)換成數(shù)字信號(hào)并由計(jì)算機(jī)進(jìn)行處理,這里采用了北京大恒圖像公司的CG400型圖像采集卡,其采用PCI總線,所采集的圖像數(shù)據(jù)傳輸基本不占用CPU時(shí)間,并可將圖像直接傳送的計(jì)算機(jī)內(nèi)存或顯存。

3 CAN總線簡(jiǎn)介
         CAN總線是德國(guó)BOSCH公司從80年代初為解決現(xiàn)代汽車(chē)中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維。通信速率可達(dá)1Mbps。CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級(jí)判別等項(xiàng)工作。CAN協(xié)議的一個(gè)最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對(duì)通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制,數(shù)據(jù)塊的標(biāo)識(shí)碼可由11位或29位二進(jìn)制數(shù)組成,因此可以定義211或229個(gè)不同的數(shù)據(jù)塊,這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。數(shù)據(jù)段長(zhǎng)度最多為8個(gè)字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測(cè)試數(shù)據(jù)的一般要求。同時(shí),8個(gè)字節(jié)不會(huì)占用總線時(shí)間過(guò)長(zhǎng),從而保證了通信的實(shí)時(shí)性。CAN協(xié)議采用CRC檢驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN卓越的特性、極高的可靠性和獨(dú)特的設(shè)計(jì),特別適合工業(yè)過(guò)程監(jiān)控設(shè)備的互連,因此,越來(lái)越受到工業(yè)界的重視,并已公認(rèn)為最有前途的現(xiàn)場(chǎng)總線之一。
        為了滿足大尺寸物體的三維輪廓的檢測(cè),本系統(tǒng)要求最少能帶64個(gè)傳感器,每個(gè)視覺(jué)傳感器里有兩個(gè)攝像機(jī),即共有128路視頻輸入,而任一時(shí)刻系統(tǒng)只選取其中一路視頻圖像傳給計(jì)算機(jī)進(jìn)行圖像采集處理,如對(duì)汽車(chē)車(chē)身周?chē)贾昧藥资畟€(gè)傳感器來(lái)檢測(cè)車(chē)身上關(guān)鍵尺寸如擋風(fēng)玻璃窗尺寸、車(chē)門(mén)安裝棱邊縫隙、定位孔位置,測(cè)量其相應(yīng)的棱邊、孔表面的空間位置尺寸。視覺(jué)傳感器可以按要求順序進(jìn)行工作,也可以選取被測(cè)對(duì)象的特定點(diǎn)并通過(guò)CAN控制網(wǎng)絡(luò)選擇特定傳感器來(lái)檢測(cè),計(jì)算機(jī)采集檢測(cè)點(diǎn)圖像并進(jìn)行處理,將計(jì)算值與標(biāo)準(zhǔn)值比對(duì),從而得出視覺(jué)檢測(cè)的結(jié)果。

4 多視覺(jué)傳感器的控制設(shè)計(jì)
         視覺(jué)傳感器的控制電路主要包括視頻切換、電源供給和CAN通訊接口三個(gè)部分。每個(gè)傳感器里有兩個(gè)CCD相機(jī),即能同時(shí)采集兩路視頻輸入,但任一時(shí)刻傳感器只能輸出一路視頻信號(hào),這里采用MAXIM公司的視頻復(fù)用放大器max4313和max4315進(jìn)行多路視頻信號(hào)的切換傳輸,傳感器內(nèi)部用單片機(jī)控制max4313進(jìn)行二選一視頻切換,系統(tǒng)中多個(gè)傳感器之間通過(guò)多個(gè)八選一視頻切換芯片max4315的級(jí)連來(lái)實(shí)現(xiàn)多視覺(jué)傳感器的切換選擇。多路視頻切換開(kāi)關(guān)電路能很好實(shí)現(xiàn)這一功能,P89C668單片機(jī)的P2口的三跟地址線控制max4315的三個(gè)地址端決定切換哪一路通道的視頻信號(hào)。max4313和max4315是低功耗高速多路視頻復(fù)用放大器,具有通道切換速度快(40ns)、切換瞬變低(10mVp-p)、差分增益誤差低(0.06%)、相位誤差?。?.02度)等良好的視頻特性,工作在+4~+10.5V的單電源(雙電源正負(fù)2V~正負(fù)5.25V),本例中工作在正負(fù)5V的雙電源下,為了減少干擾與傳感器內(nèi)部空間安裝方便,電源電路與控制電路分開(kāi)制作,分別放在投射器二邊。由于視頻信號(hào)頻率較高,頻帶較寬,因此當(dāng)兩路視頻信號(hào)相距較近要注意干擾問(wèn)題,時(shí),容易產(chǎn)生串?dāng)_,為了盡量減小串?dāng)_,電路設(shè)計(jì)時(shí)應(yīng)注意以下幾點(diǎn):要把數(shù)字模塊與視頻切換模塊在一個(gè)板子上分成二個(gè)區(qū)域,以及盡可能減少視頻引線的長(zhǎng)度并注意使用75歐姆匹配電阻,視頻引線要使用帶屏蔽層的視頻同軸電纜(75歐姆阻抗)。

5 CAN總線通訊
         CAN總線是一個(gè)多主站現(xiàn)場(chǎng)總線,各節(jié)點(diǎn)都有權(quán)向其他節(jié)點(diǎn)發(fā)送信息,其協(xié)議簡(jiǎn)單,實(shí)時(shí)性強(qiáng),可靠性及抗干擾能力好,總線利用率高,硬件成本低。主要特點(diǎn)如下:
1)CAN總線的任一節(jié)點(diǎn)在任一時(shí)刻都主動(dòng)向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送數(shù)據(jù)而不分主從,通過(guò)優(yōu)先級(jí)確定總線為哪一節(jié)點(diǎn)所占用,通信靈活。
2)CAN總線上的節(jié)點(diǎn)可通過(guò)設(shè)置分為不同的優(yōu)先級(jí),用來(lái)滿足不同的實(shí)時(shí)性要求。
3)CAN總線采用非破壞性總線仲裁,當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送數(shù)據(jù)時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)主動(dòng)停止發(fā)送數(shù)據(jù),退出競(jìng)爭(zhēng),而優(yōu)先級(jí)高的節(jié)點(diǎn)將擁有總線使用權(quán),繼續(xù)發(fā)送數(shù)據(jù)。
4)CAN總線具有點(diǎn)對(duì)點(diǎn),一點(diǎn)對(duì)多點(diǎn)及全局廣播等多種數(shù)據(jù)通訊傳送方式。
5)節(jié)點(diǎn)間通訊位速率與節(jié)點(diǎn)間距離有關(guān),總線最遠(yuǎn)通訊距離為10km,此時(shí)通訊速率為5kbps,最大通訊速率能達(dá)到1Mbps(通訊距離40m內(nèi))。
6)可根據(jù)報(bào)文的ID決定接收或屏蔽該報(bào)文,發(fā)送的報(bào)文遭到破壞后可自動(dòng)重發(fā)。
7)可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制,節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)退出總線的功能。
8)報(bào)文不包含源地址和目標(biāo)地址,僅用報(bào)文標(biāo)志符來(lái)來(lái)指示功能信息和優(yōu)先級(jí)信息。

5.1 CAN節(jié)點(diǎn)硬件接口
         CAN總線接口硬件部分主要由微控制器、CAN控制器和CAN收發(fā)器構(gòu)成。CAN控制器實(shí)現(xiàn)了CAN通訊中物理層和數(shù)據(jù)鏈路層的功能,提供了與微控制器和總線的物理線路接口,這樣用戶只需編寫(xiě)符合自己通訊和控制要求的應(yīng)用層協(xié)議即可。本系統(tǒng)中微控制器使用Philips公司的8位增強(qiáng)型單片機(jī)P89C668,CAN控制器和總線驅(qū)動(dòng)器用的分別是Philips公司的SJA1000、PCA82C250來(lái)構(gòu)成典型的CAN通訊節(jié)點(diǎn)。
        電路的核心部分是P89C668單片機(jī),它以80C51為內(nèi)核,具有ISP(在系統(tǒng)編程)和IAP(在應(yīng)用編程)功能的片內(nèi)Flash存儲(chǔ)器,片內(nèi)Boot ROM包含底層FLASH編程子程序,以實(shí)現(xiàn)通過(guò)串行口下載升級(jí)程序,擁有8K字節(jié)RAM(可外擴(kuò)到64K)和64K字節(jié)FLASH ,還有4個(gè)中斷優(yōu)先級(jí)、8個(gè)中斷源和4個(gè)8位I/O口,可方便地進(jìn)行各種片內(nèi)操作和片外擴(kuò)展。CAN控制器相對(duì)于微控制器來(lái)說(shuō)相當(dāng)于一個(gè)存儲(chǔ)器I/O映象設(shè)備,SJA1000片內(nèi)有模式寄存器、狀態(tài)寄存器、命令寄存器、中斷寄存器和收、發(fā)寄存器等。單片機(jī)就是通過(guò)讀寫(xiě)這些寄存器來(lái)實(shí)現(xiàn)對(duì)SJA1000的控制,芯片的TX0、TX1、RX0、RX1引腳用于CAN總線的接口,SJA1000的12M晶振由P89C668的外部晶振產(chǎn)生電路同時(shí)提供;PCA82C250是控制器與物理總線的接口,可提供對(duì)總線的差動(dòng)發(fā)送和接收功能,其TXD、RXD引腳分別接收和發(fā)送經(jīng)驅(qū)動(dòng)
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

超越傳統(tǒng)直覺(jué),MATLAB/Simulink助力重型機(jī)械的智能化轉(zhuǎn)型

新大陸自動(dòng)識(shí)別精彩亮相2024華南國(guó)際工業(yè)博覽會(huì)

派拓網(wǎng)絡(luò)被Forrester評(píng)為XDR領(lǐng)域領(lǐng)導(dǎo)者

智能工控,存儲(chǔ)強(qiáng)基 | ??低晭?lái)精彩主題演講

展會(huì)|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會(huì)